home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-06-04 | 37.0 KB | 1,216 lines |
- diff -r -u --new-file wu-ftpd-2.4/README wu-ftpd-2.4-fixed/README
- --- wu-ftpd-2.4/README Fri Apr 1 14:03:58 1994
- +++ wu-ftpd-2.4-fixed/README Wed Dec 31 19:00:00 1969
- @@ -1,61 +0,0 @@
- -=================
- -= RELEASE NOTES =
- -=================
- -
- -WASHINGTON UNIVERSITY FTP SERVER, RELEASE 2.2 - Apr 1, 1994
- -
- -wu-ftpd is a replacement ftp server for Un*x systems. Besides
- -supporting the ftp protocol defined in RFC 959, it adds the following
- -features:
- - o logging of transfers
- - o logging of commands
- - o on the fly compression and archiving
- - o classification of users on type and location
- - o per class limits
- - o per directory upload permissions
- - o restricted guest accounts
- - o system wide and per directory messages.
- - o directory alias
- - o cdpath
- - o filename filter
- -
- -This will be the final full release of the 2.x release of wu-ftpd.
- -Beside bug-fixes, no more work will be done on the 2.x versions. We
- -plan to rewrite large parts of the server and integrate the extended
- -functionality into the next big release.
- -
- -For help setting up this server, you can try the following sources:
- - o The wu-ftpd mailing list. To subscribe, send email with the
- - message body of "subscribe wu-ftpd" to listserv@wunet.wustl.edu
- - NOTE: I am subscribed to wu-ftpd, there is no need to mail me also.
- - o _Managing Internet Information Services_, An O'Reilly and Associates
- - book. Expected release: April/May. This book has an excellent
- - chapter on setting up anonymous ftp sites using standard ftp servers
- - as well as the wu-ftp server.
- -
- -The following notices apply to this package:
- -
- - Copyright (c) 1994 Washington University in Saint Louis.
- - All rights reserved.
- -
- - This product includes software developed by Washington University in
- - Saint Louis and its contributors
- -
- - Copyright (c) 1980, 1985, 1988, 1989, 1990 The Regents of the
- - University of California. All rights reserved.
- -
- - This product includes software developed by the University of California,
- - Berkeley and its contributors.
- -
- - THIS SOFTWARE IS PROVIDED BY WASHINGTON UNIVERSITY AND CONTRIBUTORS
- - ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL WASHINGTON
- - UNIVERSITY OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- - INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- - BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- - LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- - ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- - POSSIBILITY OF SUCH DAMAGE.
- diff -r -u --new-file wu-ftpd-2.4/README.OLD wu-ftpd-2.4-fixed/README.OLD
- --- wu-ftpd-2.4/README.OLD Wed Dec 31 19:00:00 1969
- +++ wu-ftpd-2.4-fixed/README.OLD Fri Apr 1 14:03:58 1994
- @@ -0,0 +1,61 @@
- +=================
- += RELEASE NOTES =
- +=================
- +
- +WASHINGTON UNIVERSITY FTP SERVER, RELEASE 2.2 - Apr 1, 1994
- +
- +wu-ftpd is a replacement ftp server for Un*x systems. Besides
- +supporting the ftp protocol defined in RFC 959, it adds the following
- +features:
- + o logging of transfers
- + o logging of commands
- + o on the fly compression and archiving
- + o classification of users on type and location
- + o per class limits
- + o per directory upload permissions
- + o restricted guest accounts
- + o system wide and per directory messages.
- + o directory alias
- + o cdpath
- + o filename filter
- +
- +This will be the final full release of the 2.x release of wu-ftpd.
- +Beside bug-fixes, no more work will be done on the 2.x versions. We
- +plan to rewrite large parts of the server and integrate the extended
- +functionality into the next big release.
- +
- +For help setting up this server, you can try the following sources:
- + o The wu-ftpd mailing list. To subscribe, send email with the
- + message body of "subscribe wu-ftpd" to listserv@wunet.wustl.edu
- + NOTE: I am subscribed to wu-ftpd, there is no need to mail me also.
- + o _Managing Internet Information Services_, An O'Reilly and Associates
- + book. Expected release: April/May. This book has an excellent
- + chapter on setting up anonymous ftp sites using standard ftp servers
- + as well as the wu-ftp server.
- +
- +The following notices apply to this package:
- +
- + Copyright (c) 1994 Washington University in Saint Louis.
- + All rights reserved.
- +
- + This product includes software developed by Washington University in
- + Saint Louis and its contributors
- +
- + Copyright (c) 1980, 1985, 1988, 1989, 1990 The Regents of the
- + University of California. All rights reserved.
- +
- + This product includes software developed by the University of California,
- + Berkeley and its contributors.
- +
- + THIS SOFTWARE IS PROVIDED BY WASHINGTON UNIVERSITY AND CONTRIBUTORS
- + ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL WASHINGTON
- + UNIVERSITY OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- + BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- + ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- + POSSIBILITY OF SUCH DAMAGE.
- diff -r -u --new-file wu-ftpd-2.4/README.SECURITY.FIX wu-ftpd-2.4-fixed/README.SECURITY.FIX
- --- wu-ftpd-2.4/README.SECURITY.FIX Wed Dec 31 19:00:00 1969
- +++ wu-ftpd-2.4-fixed/README.SECURITY.FIX Sun Jun 4 15:43:23 1995
- @@ -0,0 +1,48 @@
- +README.SECURITY.FIX
- +June 3, 1995 16:00 EST
- +
- +
- + On June 2, 1995, Australian CERT announced that some Linux
- + distribution may have a problem with pre-compiled binaries
- + of the Washington University FTP Server Version 2.4
- +
- + It appears that Slackware 2.0-2.3, Yggdrasil Plug&Play (Fall 94),
- + Debian Distribution and probably a lot of others are/were shipped
- + with the misconfigured ftp server. Unfortunately, such
- + misconfiguration made the ftp server a subject to attacks that allowed
- + any user of a system to gain the root access.
- +
- + This version of the Washington University FTP server is correctly
- + configured to prevent such attacks. I also cleaned the Makefile
- + in the support/ subdirectory so it compiles cleanly under Linux.
- + This version was created from the source code of the wu.ftpd 2.4
- + patched using wu-ftpd-2.4.patch.gz
- +
- +
- + CONFIGURING wu.ftpd 2.4 FOR SYSTEMS WITH AND WITHOUT SHADOW
- +
- + By default, this wu.ftpd will be build with a shadow
- + password support. If your system does not have shadow
- + passwords (I do recommend you to get it), copy the file
- + src/config/config.lnx.no-shadow into src/config/config.lnx
- +
- +
- + CORRECTING PATHNAMES
- +
- + If you would like to place your files in different places,
- + edit src/pathnames.h.
- +
- + WARNING: THE VULNERABLE CONFIGURATION WAS CREATED BY
- + SPECIFYING /bin IN THE _PATH_EXECPATH. MAKE SURE
- + THAT THE DIRECTORY SPECIFIED IN _PATH_EXEC PATH
- + IS WRITE-PROTECTED FROM USERS AND ALL PROGRAMS
- + IN THAT DIRECTORY ARE "AWARE" OF BEING EXECUTED
- + WITH UID/GID 0 WHILE RESTRICTED WITH EUID/EGID!
- +
- +
- +
- + For more information please see Linux Security WWW
- + http://bach.cis.temple.edu/linux/linux-security/
- +
- +
- + Alexander O. Yuriev <alex@bach.cis.temple.edu>
- diff -r -u --new-file wu-ftpd-2.4/src/access.c wu-ftpd-2.4-fixed/src/access.c
- --- wu-ftpd-2.4/src/access.c Wed Apr 13 17:02:22 1994
- +++ wu-ftpd-2.4-fixed/src/access.c Sat Jun 3 12:36:07 1995
- @@ -100,7 +100,7 @@
- while (match && isalpha(*whattime) && isupper(*whattime)) {
- match = 0;
- for (loop = 0; loop < 8; loop++) {
- - if (strncmp(days[loop], whattime, 2) == NULL) {
- + if (strncmp(days[loop], whattime, 2) == (int) NULL) {
- whattime += 2;
- match = 1;
- if ((wday == loop) | ((loop == 7) && wday && (wday < 6))) {
- @@ -110,7 +110,7 @@
- }
- }
-
- - if (strncmp(whattime, "Any", 3) == NULL) {
- + if (strncmp(whattime, "Any", 3) == (int) NULL) {
- validday = 1;
- whattime += 3;
- }
- @@ -428,7 +428,7 @@
- struct aclmember *entry = NULL;
-
- if (msgpathbuf)
- - *msgpathbuf = NULL;
- + *msgpathbuf = (char) NULL;
-
- /* limit <class> <n> <times> [<message_file>] */
- while (getaclentry("limit", &entry)) {
- diff -r -u --new-file wu-ftpd-2.4/src/acl.c wu-ftpd-2.4-fixed/src/acl.c
- --- wu-ftpd-2.4/src/acl.c Wed Apr 13 17:02:25 1994
- +++ wu-ftpd-2.4-fixed/src/acl.c Sat Jun 3 12:36:18 1995
- @@ -93,7 +93,7 @@
- aclmembers = (struct aclmember *) NULL;
- acltail = (struct aclmember *) NULL;
-
- - while (*aclptr != NULL) {
- + while (*aclptr != (char) NULL) {
- line = aclptr;
- while (*aclptr && *aclptr != '\n')
- aclptr++;
- @@ -103,7 +103,7 @@
- if ((ptr = strchr(line, '#')) != NULL)
- /* allowed escaped '#' chars for path-filter (DiB) */
- if (*(ptr-1) != '\\')
- - *ptr = NULL;
- + *ptr = (char) NULL;
-
- ptr = strtok(line, " \t");
- if (ptr) {
- @@ -153,7 +153,7 @@
- if (finfo.st_size == 0) {
- aclbuf = (char *) calloc(1, 1);
- } else {
- - if (!(aclbuf = malloc((unsigned) finfo.st_size + 1))) {
- + if (!(aclbuf = (char *) malloc((unsigned) finfo.st_size + 1))) {
- syslog(LOG_ERR, "could not malloc aclbuf (%d bytes)", finfo.st_size + 1);
- return (0);
- }
- diff -r -u --new-file wu-ftpd-2.4/src/config/config.lnx wu-ftpd-2.4-fixed/src/config/config.lnx
- --- wu-ftpd-2.4/src/config/config.lnx Fri Apr 1 14:03:38 1994
- +++ wu-ftpd-2.4-fixed/src/config/config.lnx Sat Jun 3 13:30:59 1995
- @@ -13,15 +13,12 @@
- #define OVERWRITE
- #undef REGEX
- #define SETPROCTITLE
- -#undef SHADOW_PASSWORD
- +#define SHADOW_PASSWORD
- #define UPLOAD
- #undef USG
- #define SVR4
-
- #include <varargs.h>
- #include <bsd.h>
- -
- -typedef int mode_t
- -typedef int SIGNAL_TYPE
-
- #include "../config.h"
- diff -r -u --new-file wu-ftpd-2.4/src/config/config.lnx.no-shadow wu-ftpd-2.4-fixed/src/config/config.lnx.no-shadow
- --- wu-ftpd-2.4/src/config/config.lnx.no-shadow Wed Dec 31 19:00:00 1969
- +++ wu-ftpd-2.4-fixed/src/config/config.lnx.no-shadow Sat Jun 3 15:56:42 1995
- @@ -0,0 +1,24 @@
- +#undef BSD
- +#define HAVE_DIRENT
- +#define HAVE_FLOCK
- +#define HAVE_FTW
- +#undef HAVE_GETCWD
- +#define HAVE_GETDTABLESIZE
- +#undef HAVE_PSTAT
- +#define HAVE_ST_BLKSIZE
- +#undef HAVE_SYSINFO
- +#define HAVE_UT_UT_HOST
- +#define HAVE_VPRINTF
- +#define LINUX
- +#define OVERWRITE
- +#undef REGEX
- +#define SETPROCTITLE
- +#undef SHADOW_PASSWORD
- +#define UPLOAD
- +#undef USG
- +#define SVR4
- +
- +#include <varargs.h>
- +#include <bsd.h>
- +
- +#include "../config.h"
- diff -r -u --new-file wu-ftpd-2.4/src/config/config.lnx.shadow wu-ftpd-2.4-fixed/src/config/config.lnx.shadow
- --- wu-ftpd-2.4/src/config/config.lnx.shadow Wed Dec 31 19:00:00 1969
- +++ wu-ftpd-2.4-fixed/src/config/config.lnx.shadow Sat Jun 3 15:56:51 1995
- @@ -0,0 +1,24 @@
- +#undef BSD
- +#define HAVE_DIRENT
- +#define HAVE_FLOCK
- +#define HAVE_FTW
- +#undef HAVE_GETCWD
- +#define HAVE_GETDTABLESIZE
- +#undef HAVE_PSTAT
- +#define HAVE_ST_BLKSIZE
- +#undef HAVE_SYSINFO
- +#define HAVE_UT_UT_HOST
- +#define HAVE_VPRINTF
- +#define LINUX
- +#define OVERWRITE
- +#undef REGEX
- +#define SETPROCTITLE
- +#define SHADOW_PASSWORD
- +#define UPLOAD
- +#undef USG
- +#define SVR4
- +
- +#include <varargs.h>
- +#include <bsd.h>
- +
- +#include "../config.h"
- diff -r -u --new-file wu-ftpd-2.4/src/edit wu-ftpd-2.4-fixed/src/edit
- --- wu-ftpd-2.4/src/edit Wed Dec 31 19:00:00 1969
- +++ wu-ftpd-2.4-fixed/src/edit Sat Jun 3 13:32:14 1995
- @@ -0,0 +1 @@
- +3
- diff -r -u --new-file wu-ftpd-2.4/src/extensions.c wu-ftpd-2.4-fixed/src/extensions.c
- --- wu-ftpd-2.4/src/extensions.c Wed Apr 13 17:02:46 1994
- +++ wu-ftpd-2.4-fixed/src/extensions.c Sat Jun 3 12:36:20 1995
- @@ -167,7 +167,7 @@
-
- case 'T':
- strncpy(outptr, ctime(&curtime), 24);
- - *(outptr + 24) = NULL;
- + *(outptr + 24) = (char) NULL;
- break;
-
- case 'F':
- @@ -198,17 +198,17 @@
-
- case 's':
- strncpy(outptr, shuttime, 24);
- - *(outptr + 24) = NULL;
- + *(outptr + 24) = (char) NULL;
- break;
-
- case 'd':
- strncpy(outptr, disctime, 24);
- - *(outptr + 24) = NULL;
- + *(outptr + 24) = (char) NULL;
- break;
-
- case 'r':
- strncpy(outptr, denytime, 24);
- - *(outptr + 24) = NULL;
- + *(outptr + 24) = (char) NULL;
- break;
-
- case '%':
- @@ -227,7 +227,7 @@
- }
- inptr++;
- }
- - *outptr = NULL;
- + *outptr = (char) NULL;
- }
-
- /*************************************************************************/
- @@ -253,7 +253,7 @@
- (void) realpath(".", cwd);
-
- for (curptr = head; curptr != NULL; curptr = curptr->next)
- - if (strcmp(curptr->dirname, cwd) == NULL) {
- + if (strcmp(curptr->dirname, cwd) == (int) NULL) {
- if (!(curptr->dircode & dircode)) {
- curptr->dircode |= dircode;
- return (0);
- @@ -345,7 +345,7 @@
- show++;
- else {
- for (which = 2; (which < MAXARGS) && ARG[which]; which++)
- - if (strcasecmp(class, ARG[which]) == NULL)
- + if (strcasecmp(class, ARG[which]) == (int) NULL)
- show++;
- }
- if (mode == C_WD && ARG1 && !strncasecmp(ARG1, "cwd=", 4) &&
- @@ -355,7 +355,7 @@
- show++;
- else {
- for (which = 2; (which < MAXARGS) && ARG[which]; which++)
- - if (strcasecmp(class, ARG[which]) == NULL)
- + if (strcasecmp(class, ARG[which]) == (int) NULL)
- show++;
- }
- if (show && strlen(ARG0) > 0) {
- @@ -417,7 +417,7 @@
- show++;
- else {
- for (which = 2; (which < MAXARGS) && ARG[which]; which++)
- - if (strcasecmp(class, ARG[which]) == NULL)
- + if (strcasecmp(class, ARG[which]) == (int) NULL)
- show++;
- }
- if (mode == C_WD && ARG1 && !strncasecmp(ARG1, "cwd=", 4)
- @@ -427,7 +427,7 @@
- show++;
- else {
- for (which = 2; (which < MAXARGS) && ARG[which]; which++)
- - if (strcasecmp(class, ARG[which]) == NULL)
- + if (strcasecmp(class, ARG[which]) == (int) NULL)
- show++;
- }
- if (show) {
- @@ -805,7 +805,7 @@
- if (sp = strrchr(path, '/')) *sp = '\0';
- else strcpy(path, ".");
-
- - if ((realpath(path, cwdir)) == NULL) {
- + if ((realpath(path, cwdir)) == (char) NULL) {
- perror_reply(553, "Could not determine cwdir");
- return(0);
- }
- @@ -867,7 +867,7 @@
- if (sp = strrchr(path, '/')) *sp = '\0';
- else strcpy(path, ".");
-
- - if ((realpath(path, cwdir)) == NULL) {
- + if ((realpath(path, cwdir)) == (char) NULL) {
- perror_reply(553, "Could not determine cwdir");
- return(-1);
- }
- diff -r -u --new-file wu-ftpd-2.4/src/ftpcmd.y wu-ftpd-2.4-fixed/src/ftpcmd.y
- --- wu-ftpd-2.4/src/ftpcmd.y Wed Apr 13 17:02:56 1994
- +++ wu-ftpd-2.4-fixed/src/ftpcmd.y Sat Jun 3 12:36:21 1995
- @@ -694,7 +694,7 @@
-
- password: /* empty */
- = {
- - $$ = malloc(1);
- + $$ = (char *) malloc(1);
- $$[0] = '\0';
- }
- | STRING
- @@ -1308,7 +1308,7 @@
- {
- char *p;
-
- - p = malloc((unsigned) strlen(s) + 1);
- + p = (char *) malloc((unsigned) strlen(s) + 1);
- if (p == NULL)
- fatal("Ran out of memory.");
- (void) strcpy(p, s);
- diff -r -u --new-file wu-ftpd-2.4/src/ftpcount.c wu-ftpd-2.4-fixed/src/ftpcount.c
- --- wu-ftpd-2.4/src/ftpcount.c Wed Apr 13 17:03:02 1994
- +++ wu-ftpd-2.4-fixed/src/ftpcount.c Sat Jun 3 12:36:22 1995
- @@ -95,7 +95,7 @@
- while (match && isalpha(*whattime) && isupper(*whattime)) {
- match = 0;
- for (loop = 0; loop < 8; loop++) {
- - if (strncmp(days[loop], whattime, 2) == NULL) {
- + if (strncmp(days[loop], whattime, 2) == (int) NULL) {
- whattime += 2;
- match = 1;
- if ((wday == loop) | ((loop == 7) && wday && (wday < 6)))
- @@ -104,7 +104,7 @@
- }
- }
-
- - if (strncmp(whattime, "Any", 3) == NULL) {
- + if (strncmp(whattime, "Any", 3) == (int) NULL) {
- validday = 1;
- whattime += 3;
- }
- @@ -156,10 +156,10 @@
- linebuf[1024];
- int limit;
-
- - while (*aclbuf != NULL) {
- + while (*aclbuf != (char) NULL) {
- if (strncasecmp(aclbuf, "limit", 5) == 0) {
- for (crptr = aclbuf; *crptr++ != '\n';) ;
- - *--crptr = NULL;
- + *--crptr = (char) NULL;
- strcpy(linebuf, aclbuf);
- *crptr = '\n';
- (void) strtok(linebuf, " \t"); /* returns "limit" */
- @@ -304,10 +304,10 @@
-
- (void) new_list(&list);
- myaclbuf = aclbuf;
- - while (*myaclbuf != NULL) {
- + while (*myaclbuf != (char) NULL) {
- if (strncasecmp(myaclbuf, "class", 5) == 0) {
- for (crptr = myaclbuf; *crptr++ != '\n';) ;
- - *--crptr = NULL;
- + *--crptr = (char) NULL;
- strcpy(linebuf, myaclbuf);
- *crptr = '\n';
- (void) strtok(linebuf, " \t"); /* returns "class" */
- diff -r -u --new-file wu-ftpd-2.4/src/ftpd.c wu-ftpd-2.4-fixed/src/ftpd.c
- --- wu-ftpd-2.4/src/ftpd.c Wed Apr 13 17:17:18 1994
- +++ wu-ftpd-2.4-fixed/src/ftpd.c Sat Jun 3 12:36:22 1995
- @@ -55,7 +55,7 @@
- #endif
-
- #include <netinet/in.h>
- -#include <netinet/in_systm.h>
- +#include <netinet/in_system.h>
- #include <netinet/ip.h>
-
- #define FTP_NAMES
- @@ -224,6 +224,11 @@
- int swaitmax = SWAITMAX;
- int swaitint = SWAITINT;
-
- +/* Mod by Lee Silverman 26 May 1994 to fix SIGNAL_TYPE never being defined. */
- +#ifdef LINUX
- +#define SIGNAL_TYPE void
- +#endif /* linux? */
- +
- SIGNAL_TYPE lostconn(int sig);
- SIGNAL_TYPE randomsig(int sig);
- SIGNAL_TYPE myoob(int sig);
- @@ -294,6 +299,12 @@
-
- data_source.sin_port = htons(ntohs(ctrl_addr.sin_port) - 1);
- debug = 0;
- +/* Mod By Lee Silverman 26 May 1994 to provide a logging facility */
- +#ifdef LINUX
- +#ifndef FACILITY
- +#define FACILITY LOG_DAEMON
- +#endif (FACIITY?)
- +#endif (Linux?)
-
- #ifdef FACILITY
- openlog("ftpd", LOG_PID | LOG_NDELAY, FACILITY);
- @@ -999,7 +1010,7 @@
- }
- #endif
-
- - *guestpw = NULL;
- + *guestpw = (char) NULL;
- if (pw == NULL)
- salt = "xx";
- else
- @@ -1223,11 +1234,11 @@
- static char buf[100];
- char *ptr = buf;
-
- - if ((options & O_COMPRESS) != NULL)
- + if ((options & O_COMPRESS) != (int) NULL)
- *ptr++ = 'C';
- - if ((options & O_TAR) != NULL)
- + if ((options & O_TAR) != (int) NULL)
- *ptr++ = 'T';
- - if ((options & O_UNCOMPRESS) != NULL)
- + if ((options & O_UNCOMPRESS) != (int) NULL)
- *ptr++ = 'U';
- if (options == 0)
- *ptr++ = '_';
- @@ -1339,7 +1350,7 @@
- strcpy(namebuf, cptr->external_cmd);
- if ((ptr = strchr(namebuf, ' ')) != NULL)
- *ptr = '\0';
- - if (stat(namebuf, &st) != NULL) {
- + if (stat(namebuf, &st) != (int) NULL) {
- syslog(LOG_ERR, "external command %s not found",
- namebuf);
- (void) reply(550,
- diff -r -u --new-file wu-ftpd-2.4/src/ftpshut.c wu-ftpd-2.4-fixed/src/ftpshut.c
- --- wu-ftpd-2.4/src/ftpshut.c Fri Apr 1 14:03:42 1994
- +++ wu-ftpd-2.4-fixed/src/ftpshut.c Sat Jun 3 12:36:23 1995
- @@ -185,10 +185,10 @@
- }
-
- myaclbuf = aclbuf;
- - while (*myaclbuf != NULL) {
- + while (*myaclbuf != (char) NULL) {
- if (strncasecmp(myaclbuf, "shutdown", 8) == 0) {
- for (crptr = myaclbuf; *crptr++ != '\n';) ;
- - *--crptr = NULL;
- + *--crptr = (char) NULL;
- strcpy(linebuf, myaclbuf);
- *crptr = '\n';
- (void) strtok(linebuf, " \t"); /* returns "shutdown" */
- diff -r -u --new-file wu-ftpd-2.4/src/glob.c wu-ftpd-2.4-fixed/src/glob.c
- --- wu-ftpd-2.4/src/glob.c Fri Apr 1 14:03:42 1994
- +++ wu-ftpd-2.4-fixed/src/glob.c Sat Jun 3 12:36:24 1995
- @@ -645,7 +645,7 @@
- strspl(cp, dp)
- register char *cp, *dp;
- {
- - register char *ep = malloc((unsigned)(strlen(cp) + strlen(dp) + 1));
- + register char *ep = (char *) malloc((unsigned)(strlen(cp) + strlen(dp) + 1));
-
- if (ep == (char *)0)
- fatal("Out of memory");
- diff -r -u --new-file wu-ftpd-2.4/src/hostacc.c wu-ftpd-2.4-fixed/src/hostacc.c
- --- wu-ftpd-2.4/src/hostacc.c Fri Apr 1 14:03:44 1994
- +++ wu-ftpd-2.4-fixed/src/hostacc.c Sat Jun 3 12:36:24 1995
- @@ -69,7 +69,7 @@
- while (((ptHtmp = gethacc()) != (hacc_t *)NULL) && !iLineMatch)
- {
- if ( (strcasecmp(pcRuser, ptHtmp->ha_login)) &&
- - strcmp(ptHtmp->ha_login, "*") != NULL)
- + strcmp(ptHtmp->ha_login, "*") != (int) NULL)
- /* wrong user, check rest of file */
- continue;
-
- diff -r -u --new-file wu-ftpd-2.4/src/makefiles/Makefile.lnx wu-ftpd-2.4-fixed/src/makefiles/Makefile.lnx
- --- wu-ftpd-2.4/src/makefiles/Makefile.lnx Fri Apr 1 14:03:31 1994
- +++ wu-ftpd-2.4-fixed/src/makefiles/Makefile.lnx Sat Jun 3 13:18:13 1995
- @@ -1,16 +1,16 @@
- CC = gcc
- -IFLAGS = -I.. -I../support -I/usr/include/bsd
- +IFLAGS = -I.. -I../support -I/usr/include/bsd -I/usr/include/netinet
- LFLAGS = -L../support
- -CFLAGS = -O -DDEBUG ${IFLAGS} ${LFLAGS}
- -LIBES = -lsupport -lbsd
- +CFLAGS = -O2 ${IFLAGS} ${LFLAGS}
- +LIBES = -lbsd -lsupport
- LIBC = /usr/lib/libc.a
- LINTFLAGS=
- LKERB = -lauth -lckrb -lkrb -ldes
- MKDEP = ../util/mkdep
-
- -SRCS = ftpd.c ftpcmd.c glob.c logwtmp.c popen.c vers.c access.c extensions.c \
- +SRCS = vers.c ftpd.c ftpcmd.c glob.c logwtmp.c popen.c access.c extensions.c \
- realpath.c acl.c private.c authenticate.c conversions.c hostacc.c
- -OBJS = ftpd.o ftpcmd.o glob.o logwtmp.o popen.o vers.o access.o extensions.o \
- +OBJS = vers.o ftpd.o ftpcmd.o glob.o logwtmp.o popen.o access.o extensions.o \
- realpath.o acl.o private.o authenticate.o conversions.o hostacc.o
-
- all: ftpd ftpcount ftpshut ckconfig
- diff -r -u --new-file wu-ftpd-2.4/src/makefiles/Makefile.lnx.orig wu-ftpd-2.4-fixed/src/makefiles/Makefile.lnx.orig
- --- wu-ftpd-2.4/src/makefiles/Makefile.lnx.orig Wed Dec 31 19:00:00 1969
- +++ wu-ftpd-2.4-fixed/src/makefiles/Makefile.lnx.orig Fri Apr 1 14:03:31 1994
- @@ -0,0 +1,51 @@
- +CC = gcc
- +IFLAGS = -I.. -I../support -I/usr/include/bsd
- +LFLAGS = -L../support
- +CFLAGS = -O -DDEBUG ${IFLAGS} ${LFLAGS}
- +LIBES = -lsupport -lbsd
- +LIBC = /usr/lib/libc.a
- +LINTFLAGS=
- +LKERB = -lauth -lckrb -lkrb -ldes
- +MKDEP = ../util/mkdep
- +
- +SRCS = ftpd.c ftpcmd.c glob.c logwtmp.c popen.c vers.c access.c extensions.c \
- + realpath.c acl.c private.c authenticate.c conversions.c hostacc.c
- +OBJS = ftpd.o ftpcmd.o glob.o logwtmp.o popen.o vers.o access.o extensions.o \
- + realpath.o acl.o private.o authenticate.o conversions.o hostacc.o
- +
- +all: ftpd ftpcount ftpshut ckconfig
- +
- +ftpcount: ftpcount.c pathnames.h
- + ${CC} ${CFLAGS} -o $@ ftpcount.c vers.o ${LIBES}
- +
- +ftpshut: ftpshut.c pathnames.h
- + ${CC} ${CFLAGS} -o $@ ftpshut.c vers.o ${LIBES}
- +
- +ftpd: ${OBJS} ${LIBC}
- + ${CC} ${CFLAGS} -o $@ ${OBJS} ${LIBES}
- +
- +ckconfig: ckconfig.c
- + ${CC} ${CFLAGS} -o $@ ckconfig.c
- +
- +index: index.o ${LIBC}
- + ${CC} -Bstatic -o $@ index.o
- +
- +vers.o: ftpd.c ftpcmd.y
- + sh newvers.sh
- + ${CC} ${CFLAGS} -c vers.c
- +
- +clean:
- + rm -f ${OBJS} ftpd ftpcmd.c ftpshut ftpshut.o ftpcount ftpcount.o
- + rm -f core index index.o
- +
- +cleandir: clean
- + rm -f tags .depend
- +
- +depend: ${SRCS}
- + ${MKDEP} ${CFLAGS} ${SRCS}
- +
- +lint: ${SRCS}
- + lint ${CFLAGS} ${LINTFLAGS} ${SRCS}
- +
- +tags: ${SRCS}
- + ctags ${SRCS}
- diff -r -u --new-file wu-ftpd-2.4/src/pathnames.h wu-ftpd-2.4-fixed/src/pathnames.h
- --- wu-ftpd-2.4/src/pathnames.h Wed Apr 13 16:46:48 1994
- +++ wu-ftpd-2.4-fixed/src/pathnames.h Sat Jun 3 15:59:51 1995
- @@ -30,11 +30,11 @@
- * @(#)pathnames.h 5.2 (Berkeley) 6/1/90 */
-
- #define _PATH_FTPUSERS "/etc/ftpusers"
- -#define _PATH_FTPACCESS "/usr/local/etc/ftpaccess"
- -#define _PATH_EXECPATH "/bin/ftp-exec"
- -#define _PATH_PIDNAMES "/usr/local/daemon/ftpd/ftp.pids-%s"
- -#define _PATH_CVT "/usr/local/etc/ftpconversions"
- -#define _PATH_XFERLOG "/usr/adm/xferlog"
- +#define _PATH_FTPACCESS "/etc/ftpaccess"
- +#define _PATH_EXECPATH "/bin/ftp-exec" /* DO NOT MAKE IT A NORMAL bin!!! */
- +#define _PATH_PIDNAMES "/usr/adm/ftpd/ftp.pids-%s"
- +#define _PATH_CVT "/etc/ftpconversions"
- +#define _PATH_XFERLOG "/usr/adm/ftpd/xferlog"
- #define _PATH_PRIVATE "/etc/ftpgroups"
-
- #ifndef _PATH_UTMP
- @@ -47,6 +47,6 @@
- #define _PATH_DEVNULL "/dev/null"
-
- #ifdef HOST_ACCESS
- -#define _PATH_FTPHOSTS "/usr/local/etc/ftphosts"
- +#define _PATH_FTPHOSTS "/etc/ftphosts"
- #endif
-
- diff -r -u --new-file wu-ftpd-2.4/src/private.c wu-ftpd-2.4-fixed/src/private.c
- --- wu-ftpd-2.4/src/private.c Wed Apr 13 17:03:53 1994
- +++ wu-ftpd-2.4-fixed/src/private.c Sat Jun 3 12:36:26 1995
- @@ -164,7 +164,7 @@
- if (finfo.st_size == 0) {
- passbuf = (char *) calloc(1, 1);
- } else {
- - if (!(passbuf = malloc((unsigned) finfo.st_size + 1))) {
- + if (!(passbuf = (char *) malloc((unsigned) finfo.st_size + 1))) {
- (void) syslog(LOG_ERR, "could not malloc passbuf (%d bytes)",
- finfo.st_size + 1);
- return;
- diff -r -u --new-file wu-ftpd-2.4/src/realpath.c wu-ftpd-2.4-fixed/src/realpath.c
- --- wu-ftpd-2.4/src/realpath.c Fri Apr 1 14:03:45 1994
- +++ wu-ftpd-2.4-fixed/src/realpath.c Sat Jun 3 12:36:27 1995
- @@ -78,7 +78,7 @@
- seteuid(userid);
- }
- } else
- - *workpath = NULL;
- + *workpath = (char) NULL;
-
- /* curpath is the path we're still resolving */
- /* linkpath is the path a symbolic link points to */
- @@ -86,7 +86,7 @@
-
- loop:
- where = curpath;
- - while (*where != NULL) {
- + while (*where != (char) NULL) {
- if (!strcmp(where, ".")) {
- where++;
- continue;
- @@ -105,14 +105,14 @@
- last = ptr;
- ptr++;
- }
- - *last = NULL;
- + *last = (char) NULL;
- continue;
- }
- ptr = strchr(where, '/');
- if (!ptr)
- ptr = where + strlen(where) - 1;
- else
- - *ptr = NULL;
- + *ptr = (char) NULL;
-
- strcpy(namebuf, workpath);
- for (last = namebuf; *last; last++)
- diff -r -u --new-file wu-ftpd-2.4/src/vers.c wu-ftpd-2.4-fixed/src/vers.c
- --- wu-ftpd-2.4/src/vers.c Wed Apr 13 17:38:41 1994
- +++ wu-ftpd-2.4-fixed/src/vers.c Sat Jun 3 13:32:14 1995
- @@ -1 +1 @@
- -char version[] = "Version wu-2.4(1) Wed Apr 13 16:38:41 CDT 1994";
- +char version[] = "Version wu-2.4(3) Sat Jun 3 13:32:14 EDT 1995";
- diff -r -u --new-file wu-ftpd-2.4/support/ftw.c wu-ftpd-2.4-fixed/support/ftw.c
- --- wu-ftpd-2.4/support/ftw.c Fri Apr 1 14:03:54 1994
- +++ wu-ftpd-2.4-fixed/support/ftw.c Sat Jun 3 12:36:28 1995
- @@ -149,7 +149,7 @@
- break;
- }
- if (cur.off) {
- - *name = NULL;
- + *name = (char) NULL;
- if ( (cur.dirp = opendir(bp)) ) {
- seekdir(cur.dirp, cur.off);
- /* tricky; if we have to reset the directory pointer we know
- diff -r -u --new-file wu-ftpd-2.4/support/ftw.c.orig wu-ftpd-2.4-fixed/support/ftw.c.orig
- --- wu-ftpd-2.4/support/ftw.c.orig Wed Dec 31 19:00:00 1969
- +++ wu-ftpd-2.4-fixed/support/ftw.c.orig Fri Apr 1 14:03:54 1994
- @@ -0,0 +1,352 @@
- +/*
- + * Copyright (c) 1988 Regents of the University of California.
- + * All rights reserved.
- + *
- + * Redistribution and use in source and binary forms are permitted
- + * provided that the above copyright notice and this paragraph are
- + * duplicated in all such forms and that any documentation,
- + * advertising materials, and other materials related to such
- + * distribution and use acknowledge that the software was developed
- + * by the University of California, Berkeley. The name of the
- + * University may not be used to endorse or promote products derived
- + * from this software without specific prior written permission.
- + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- + * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- + * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- + */
- +
- +#if defined(LIBC_SCCS) && !defined(lint)
- +static char sccsid[] = "@(#)ftw.c 5.3 (Berkeley) 8/5/88";
- +
- +#endif /* LIBC_SCCS and not lint */
- +
- +#include "../src/config.h"
- +
- +#ifdef HAVE_DIRENT
- +#include <dirent.h>
- +#else
- +#include <sys/dir.h>
- +#endif
- +
- +#include <errno.h>
- +
- +#include <sys/param.h>
- +#include <sys/stat.h>
- +#include <sys/stat.h>
- +
- +#include "ftw.h"
- +
- +#define NODESC -1
- +
- +#ifdef HAVE_SYMLINK
- +# define ISLINK(sb) ((sb.st_mode&S_IFMT) == S_IFLNK)
- +#else
- +# define lstat stat
- +#endif
- +
- +#define ISDIR(sb) ((sb.st_mode&S_IFMT) == S_IFDIR)
- +#define ISDOT(dp) \
- + (dp->d_name[0] == '.' && (!dp->d_name[1] || \
- + (dp->d_name[1] == '.' && !dp->d_name[2])))
- +
- +extern int errno;
- +static int g_fds,
- + (*g_fn) (),
- + g_opts;
- +static char *bp;
- +
- +int treewalk(char *path, int (*fn) ( /* ??? */ ), int maxfds, int opts);
- +
- +/*
- + * cycle through the directories at the top of the tree, otherwise, once
- + * you run out of descriptors you have to keep reusing the same one and
- + * it gets *real* slow.
- + */
- +typedef struct d_fd {
- + struct d_fd *next;
- + DIR *dirp;
- + off_t off;
- +} FD;
- +
- +static FD *freep,
- + *node;
- +
- +static int
- +walk(register char *name)
- +{
- +#ifdef HAVE_DIRENT
- + register struct dirent *dp;
- +#else
- + register struct direct *dp;
- +#endif
- + register int rval;
- + struct stat sb;
- + FD cur;
- + char *save,
- + *strcpy(char *, const char *);
- +
- + if (!freep)
- + freep = &cur;
- + else
- + node->next = &cur;
- + node = &cur;
- + cur.off = 0;
- +
- + getfd:if (!g_fds) {
- + freep->off = telldir(freep->dirp);
- + closedir(freep->dirp);
- + freep = freep->next;
- + ++g_fds;
- + }
- + if ( !(cur.dirp = opendir(bp)) ) {
- + if (errno == EMFILE) {
- + g_fds = 0;
- + goto getfd;
- + }
- + return (errno == EACCES ? (*g_fn) (bp, &sb, FTW_DNR) : -1);
- + } else
- + --g_fds;
- +
- + for (; *name; ++name) ;
- + *name++ = '/';
- + for (rval = 0, dp = readdir(cur.dirp); dp; dp = readdir(cur.dirp)) {
- + if (ISDOT(dp))
- + continue;
- + (void) strcpy(name, dp->d_name);
- + if (lstat(bp, &sb)) {
- + rval = errno == EACCES ?
- + (*g_fn) (bp, &sb, FTW_NS) : -1;
- + if (rval)
- + break;
- + }
- +#ifdef HAVE_SYMLINK
- + if (ISLINK(sb) && g_opts & FTW_SYMLINK)
- + if (stat(bp, &sb))
- + continue;
- +#endif
- + if (!ISDIR(sb)) {
- + rval = (*g_fn) (bp, &sb, FTW_F);
- + if (rval)
- + break;
- + continue;
- + }
- + if (g_opts & FTW_DIRLAST)
- +#ifdef HAVE_D_NAMLEN
- + save = name + dp->d_namlen;
- +#else
- + save = name + strlen(dp->d_name);
- +#endif
- + rval = (*g_fn) (bp, &sb, FTW_D);
- + if ( (rval && rval != NODESC) || (rval = walk(name)))
- + break;
- + if (g_opts & FTW_DIRLAST) {
- + *save = '\0';
- + rval = (*g_fn) (dp->d_name, &sb, FTW_D2);
- + if (rval)
- + if (rval == NODESC)
- + rval = 0;
- + else
- + break;
- + }
- + if (cur.off) {
- + *name = NULL;
- + if ( (cur.dirp = opendir(bp)) ) {
- + seekdir(cur.dirp, cur.off);
- + /* tricky; if we have to reset the directory pointer we know
- + * it's the next one to reuse */
- + freep = &cur;
- + --g_fds;
- + }
- + /* directory moved from under us!!! */
- + else {
- + rval = -1;
- + break;
- + }
- + }
- + }
- + closedir(cur.dirp);
- + ++g_fds;
- + return (rval);
- +}
- +
- +static int
- +chwalk(register char *name)
- +{
- +#ifdef HAVE_DIRENT
- + register struct dirent *dp;
- +#else
- + register struct direct *dp;
- +#endif
- +
- + register int rval;
- + struct stat sb;
- + FD cur;
- + char *pwd,
- + *getwd(char *),
- +#ifndef NO_MALLOC_PROTO
- + *malloc(size_t),
- +#endif
- + *strcpy(char *, const char *);
- +
- + if (!freep)
- + freep = &cur;
- + else
- + node->next = &cur;
- + node = &cur;
- + cur.off = 0;
- +
- + if (chdir(name))
- + return (errno == EACCES ? (*g_fn) (name, &sb, FTW_DNR) : -1);
- +
- + getfd:if (!g_fds) {
- + freep->off = telldir(freep->dirp);
- + closedir(freep->dirp);
- + freep = freep->next;
- + ++g_fds;
- + }
- + if ( !(cur.dirp = opendir(".")) ) {
- + if (errno == EMFILE) {
- + g_fds = 0;
- + goto getfd;
- + }
- + return (errno == EACCES ? (*g_fn) (".", &sb, FTW_DNR) : -1);
- + } else
- + --g_fds;
- +
- + for (rval = 0, dp = readdir(cur.dirp); dp; dp = readdir(cur.dirp)) {
- + if (ISDOT(dp))
- + continue;
- + if (lstat(dp->d_name, &sb)) {
- + rval = errno == EACCES ?
- + (*g_fn) (dp->d_name, &sb, FTW_NS) : -1;
- + if (rval)
- + break;
- + }
- + pwd = NULL;
- +#ifdef HAVE_SYMLINK
- + if (ISLINK(sb) && g_opts & FTW_SYMLINK) {
- + if (stat(dp->d_name, &sb))
- + continue;
- + if (ISDIR(sb)) {
- + /* NOSTRICT */
- + if (!(pwd = malloc((u_int) MAXPATHLEN))) {
- + rval = -1;
- + break;
- + }
- + if (!getwd(pwd)) {
- + rval = -1;
- + break;
- + }
- + }
- + }
- +#endif
- + if (!ISDIR(sb)) {
- + rval = (*g_fn) (dp->d_name, &sb, FTW_F);
- + if (rval)
- + break;
- + continue;
- + }
- + rval = (*g_fn) (dp->d_name, &sb, FTW_D);
- + if ((rval && rval != NODESC) || (rval = chwalk(dp->d_name)))
- + break;
- + if (g_opts & FTW_DIRLAST) {
- + rval = (*g_fn) (dp->d_name, &sb, FTW_D2);
- + if (rval)
- + if (rval == NODESC)
- + rval = 0;
- + else
- + break;
- + }
- + if (pwd && chdir(pwd)) {
- + rval = -1;
- + break;
- + }
- + if (cur.off) {
- + if ( (cur.dirp = opendir(".")) ) {
- + seekdir(cur.dirp, cur.off);
- + /* tricky; if we have to reset the directory pointer we know
- + * it's the next one to reuse */
- + freep = &cur;
- + --g_fds;
- + }
- + /* directory moved from under us!!! */
- + else {
- + rval = -1;
- + break;
- + }
- + }
- + }
- + closedir(cur.dirp);
- + ++g_fds;
- + if (chdir(".."))
- + return (-1);
- + return (rval);
- +}
- +
- +/* S5 compatible ftw(BA_LIB) */
- +int
- +ftw(char *path, int (*fn) ( /* ??? */ ), int maxfds)
- +{
- + return (treewalk(path, fn, maxfds, 0));
- +}
- +
- +int
- +treewalk(char *path, int (*fn) ( /* ??? */ ), int maxfds, int opts)
- +{
- + struct stat sb;
- + int rval;
- + char *pwd,
- + *getwd(char *),
- +#ifndef NO_MALLOC_PROTO
- + *malloc(size_t),
- +#endif
- + *strcpy(char *, const char *);
- +
- + if (lstat(path, &sb))
- + return (errno == EACCES ? (*fn) (path, &sb, FTW_NS) : -1);
- +
- + pwd = NULL;
- +#ifdef HAVE_SYMLINK
- + if (ISLINK(sb) && opts & FTW_SYMLINK) {
- + if (stat(path, &sb))
- + return (0);
- + if (ISDIR(sb)) {
- + /* NOSTRICT */
- + if (!(pwd = malloc((u_int) MAXPATHLEN)))
- + return (-1);
- + if (!getwd(pwd))
- + return (-1);
- + }
- + }
- +#endif
- + if (!ISDIR(sb))
- + return ((*fn) (path, &sb, FTW_F));
- +
- + if (!maxfds)
- + return (-1);
- + g_fds = maxfds == -1 ? getdtablesize(): maxfds;
- + g_fn = fn;
- + g_opts = opts;
- +
- + if (!(opts & FTW_CHDIR) && !(bp = malloc((u_int) MAXPATHLEN))) {
- + errno = ENOMEM;
- + return (-1);
- + }
- + rval = (*fn) (path, &sb, FTW_D);
- + if (rval == NODESC)
- + rval = 0;
- + else if (!rval) {
- + if (opts & FTW_CHDIR)
- + rval = chwalk(path);
- + else
- + rval = walk(strcpy(bp, path));
- + if (!rval && opts & FTW_DIRLAST) {
- + rval = (*fn) (path, &sb, FTW_D2);
- + if (rval == NODESC)
- + rval = 0;
- + }
- + }
- + if (pwd && chdir(pwd))
- + return (-1);
- + return (rval);
- +}
- diff -r -u --new-file wu-ftpd-2.4/support/makefiles/Makefile.lnx wu-ftpd-2.4-fixed/support/makefiles/Makefile.lnx
- --- wu-ftpd-2.4/support/makefiles/Makefile.lnx Fri Apr 1 14:03:52 1994
- +++ wu-ftpd-2.4-fixed/support/makefiles/Makefile.lnx Sat Jun 3 13:14:12 1995
- @@ -1,21 +1,30 @@
- CC = gcc
- +COMPILEONLY = -c
- AR = ar cq
- RANLIB = ranlib
- -LIBC = /lib/libc.a
- -IFLAGS =
- +LIBC = /usr/lib/libc.a
- +IFLAGS = -I/usr/include/bsd
- LFLAGS =
- -CFLAGS = -O -DDEBUG ${IFLAGS} ${LFLAGS}
- +CFLAGS = -O2 $(IFLAGS) $(LFLAGS) -m486 -pipe
-
- SRCS = getusershell.c fnmatch.c strcasestr.c strerror.c authuser.c ftw.c
- OBJS = getusershell.o fnmatch.o strcasestr.o strerror.o authuser.o ftw.o
-
- -all: $(OBJS)
- - -rm -f libsupport.a
- - ${AR} libsupport.a $(OBJS)
- - ${RANLIB} libsupport.a
- -
- +
- +all: $(OBJ)
- + rm -rf libsupport.a
- + $(CC) $(CFLAGS) $(COMPILEONLY) $(SRCS)
- + $(AR) libsupport.a $(OBJS)
- + $(RANLIB) libsupport.a
- +
- +#all: $(OBJS)
- +#
- +# rm -f libsupport.a
- +# ${AR} libsupport.a $(OBJS)
- +# ${RANLIB} libsupport.a
- +#
- clean:
- - -rm -f *.o libsupport.a
- + rm -f *.o libsupport.a
-
- ftp.h:
- install -c -m 444 ftp.h /usr/include/arpa
- @@ -24,25 +33,25 @@
- install -c -m 444 paths.h /usr/include
-
- fnmatch.o: fnmatch.c
- - ${CC} ${CFLAGS} -c fnmatch.c
- + $(CC) $(CFLAGS) -c fnmatch.c
-
- getusershell.o: getusershell.c
- - ${CC} ${CFLAGS} -c getusershell.c
- + $(CC) $(CFLAGS) -c getusershell.c
-
- strerror.o: strerror.c
- - ${CC} ${CFLAGS} -c strerror.c
- + $(CC) $(CFLAGS) -c strerror.c
-
- strdup.o: strdup.c
- - ${CC} ${CFLAGS} -c strdup.c
- + $(CC) $(CFLAGS) -c strdup.c
-
- strcasestr.o: strcasestr.c
- - ${CC} ${CFLAGS} -c strcasestr.c
- + $(CC) $(CFLAGS) -c strcasestr.c
-
- strsep.o: strsep.c
- - ${CC} ${CFLAGS} -c strsep.c
- + $(CC) $(CFLAGS) -c strsep.c
-
- authuser.o: authuser.c
- - ${CC} ${CFLAGS} -c authuser.c
- + $(CC) $(CFLAGS) -c authuser.c
-
- ftw.o: ftw.c
- - ${CC} ${CFLAGS} -c ftw.c
- + $(CC) $(CFLAGS) -c ftw.c
-